package com.zjxf.service;

import com.alibaba.fastjson.JSONObject;
import com.zjxf.base.bean.po.PmsAsProduct;
import com.zjxf.base.bean.po.UmsStoreSeller;
import com.zjxf.base.bean.ro.RoPmsAsProduct;
import com.zjxf.base.bean.vo.VoPmsAsProduct;
import com.zjxf.base.common.OperationException;
import org.springframework.data.domain.Page;

/**
 * 农副产品
 *
 * @author ZhangWei
 * @date 2021/4/6/006 15:57
 */
public interface PmsAsProductService {

    /**
     * 添加或修改
     *
     * @param vo
     * @param umsStoreSeller
     */
    void addOrUpdate(VoPmsAsProduct.addOrUpdate vo, UmsStoreSeller umsStoreSeller);

    /**
     * 删除
     *
     * @param id
     */
    void delete(Long id) throws OperationException;

    /**
     * 回显
     *
     * @param id
     * @return
     */
    PmsAsProduct getEntity(Long id) throws OperationException;

    /**
     * ro回显
     *
     * @param pmsAsProduct
     * @return
     */
    RoPmsAsProduct.Details getEntityRo(PmsAsProduct pmsAsProduct);

    /**
     * 分页
     * @param filter
     * @return
     */
    Page<PmsAsProduct> page(VoPmsAsProduct.filter filter);

    /**
     * ro分页
     * @param pmsAsProductPage
     * @return
     */
    JSONObject sellerPageRo(Page<PmsAsProduct> pmsAsProductPage);

    /**
     * 审核
     * @param verify
     */
    void verify(VoPmsAsProduct.verify verify) throws OperationException;
}
